package com.isdepci.project.carbon.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.isdepci.framework.aspectj.lang.annotation.Excel;
import com.isdepci.framework.web.domain.BaseEntity;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 气体燃料燃烧碳排放对象 b_gas_fuel
 *
 * @author isdepci
 * @date 2025-03-29
 */
public class BGasFuel extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private Long id;

    /** 项目代码 */
    //@Excel(name = "项目代码")
    private Long projectId;

    /** 名称 */
    @Excel(name = "名称")
    private String iname;


    /** 燃料名称 */
    @Excel(name = "燃料名称")
    private String fuelName;


    /** 购入量 */
    @Excel(name = "购入量")
    private BigDecimal purchaseQuantity;

    /** 库存量 */
    @Excel(name = "库存量")
    private BigDecimal inventoryLevel;

    /** 消耗量 */
    @Excel(name = "消耗量")
    private BigDecimal consumption;

    /** 排放因子 */
    @Excel(name = "排放因子")
    private BigDecimal emissionFactor;

    /** 低位发热量 */
    @Excel(name = "低位发热量")
    private BigDecimal lowerHeatValue;

    /** 单位热值含碳量 */
    @Excel(name = "单位热值含碳量")
    private BigDecimal heatCarbonContent;

    /** 燃料碳氧化率 */
    @Excel(name = "燃料碳氧化率")
    private BigDecimal carbonOxidationRate;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date creationTime;

    /** 碳排放量 */
    //@Excel(name = "碳排放量")
    private BigDecimal carbonEmissions;


    /** 值类型 */
    @Excel(name = "值类型")
    private Integer valueType;

    /** 附件地址 */
    //@Excel(name = "附件地址")
    private String accessoryUrl;

    /** 附件名称 */
    //@Excel(name = "附件名称")
    private String accessoryName;

    public String getIname() {
        return iname;
    }

    public void setIname(String iname) {
        this.iname = iname;
    }

    public String getAccessoryName() {
        return accessoryName;
    }

    public void setAccessoryName(String accessoryName) {
        this.accessoryName = accessoryName;
    }

    public Integer getValueType() {
        return valueType;
    }

    public void setValueType(Integer valueType) {
        this.valueType = valueType;
    }

    public String getAccessoryUrl() {
        return accessoryUrl;
    }

    public void setAccessoryUrl(String accessoryUrl) {
        this.accessoryUrl = accessoryUrl;
    }

    public BigDecimal getCarbonEmissions() {
        return carbonEmissions;
    }

    public void setCarbonEmissions(BigDecimal carbonEmissions) {
        this.carbonEmissions = carbonEmissions;
    }

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setProjectId(Long projectId)
    {
        this.projectId = projectId;
    }

    public Long getProjectId()
    {
        return projectId;
    }
    public void setFuelName(String fuelName)
    {
        this.fuelName = fuelName;
    }

    public String getFuelName()
    {
        return fuelName;
    }
    public void setPurchaseQuantity(BigDecimal purchaseQuantity)
    {
        this.purchaseQuantity = purchaseQuantity;
    }

    public BigDecimal getPurchaseQuantity()
    {
        return purchaseQuantity;
    }
    public void setInventoryLevel(BigDecimal inventoryLevel)
    {
        this.inventoryLevel = inventoryLevel;
    }

    public BigDecimal getInventoryLevel()
    {
        return inventoryLevel;
    }
    public void setConsumption(BigDecimal consumption)
    {
        this.consumption = consumption;
    }

    public BigDecimal getConsumption()
    {
        return consumption;
    }
    public void setEmissionFactor(BigDecimal emissionFactor)
    {
        this.emissionFactor = emissionFactor;
    }

    public BigDecimal getEmissionFactor()
    {
        return emissionFactor;
    }
    public void setLowerHeatValue(BigDecimal lowerHeatValue)
    {
        this.lowerHeatValue = lowerHeatValue;
    }

    public BigDecimal getLowerHeatValue()
    {
        return lowerHeatValue;
    }
    public void setHeatCarbonContent(BigDecimal heatCarbonContent)
    {
        this.heatCarbonContent = heatCarbonContent;
    }

    public BigDecimal getHeatCarbonContent()
    {
        return heatCarbonContent;
    }
    public void setCarbonOxidationRate(BigDecimal carbonOxidationRate)
    {
        this.carbonOxidationRate = carbonOxidationRate;
    }

    public BigDecimal getCarbonOxidationRate()
    {
        return carbonOxidationRate;
    }
    public void setCreationTime(Date creationTime)
    {
        this.creationTime = creationTime;
    }

    public Date getCreationTime()
    {
        return creationTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("projectId", getProjectId())
            .append("fuelName", getFuelName())
            .append("purchaseQuantity", getPurchaseQuantity())
            .append("inventoryLevel", getInventoryLevel())
            .append("consumption", getConsumption())
            .append("emissionFactor", getEmissionFactor())
            .append("lowerHeatValue", getLowerHeatValue())
            .append("heatCarbonContent", getHeatCarbonContent())
            .append("carbonOxidationRate", getCarbonOxidationRate())
            .append("creationTime", getCreationTime())
            .toString();
    }
}
